循环展开:一种编译器优化或手动优化技术,把循环体复制多次、减少每次迭代的循环控制开销(如比较与跳转),从而提高执行效率;常用于性能敏感代码与底层计算(但可能增加代码体积、影响指令缓存)。
/luːp ʌnˈroʊlɪŋ/
We used loop unrolling to speed up the inner loop.
我们使用循环展开来加速内层循环。
By applying loop unrolling and careful memory access patterns, the program reduced branch overhead and improved throughput on modern CPUs.
通过应用循环展开并精心设计内存访问模式,该程序减少了分支开销,并在现代 CPU 上提升了吞吐量。
loop(循环)源自“圈、环”的含义,引申为程序中“回到起点重复执行”的结构;unroll本义是“展开卷起的东西”。合在一起,loop unrolling字面意思就是把“卷起来的循环”展开——把原本每次迭代重复执行的一段代码“摊开”成多份连续代码,以减少循环控制指令的频率。该术语广泛出现在编译器优化与高性能计算领域。